package com.zhijian.medical.entity.po;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 医疗设备
 *
 * @author Auto Generator
 * @date 2023-07-30 13:31:33
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Api(tags = "医疗设备")
public class Device {
    /**
     * id
     */
    @ApiModelProperty("id")
    private Long id;

    /**
     * 设备名称
     */
    @ApiModelProperty("设备名称")
    @NotBlank(message = "设备名称不能为空")
    private String name;

    /**
     * 负责人
     */
    @ApiModelProperty("负责人")
    private String responsiblePerson;

    /**
     * 负责人电话
     */
    @ApiModelProperty("负责人电话")
    private String responsiblePersonPhone;

    /**
     * 院内编号
     */
    @ApiModelProperty("院内编号")
    private String hospitalNumber;

    /**
     * 专业组
     */
    @ApiModelProperty("专业组")
    private String professionGroup;

    /**
     * 科内编号
     */
    @ApiModelProperty("科内编号")
    private String departmentNumber;

    /**
     * 设备型号/序列号
     */
    @ApiModelProperty("设备型号/序列号")
    private String versionSerial;

    /**
     * 生产厂家
     */
    @ApiModelProperty("生产厂家")
    private String produceFactory;

    /**
     * 供应商
     */
    @ApiModelProperty("供应商")
    private String supplier;

    /**
     * 厂家联系人
     */
    @ApiModelProperty("厂家联系人")
    private String contactPerson;

    /**
     * 电话
     */
    @ApiModelProperty("电话")
    private String contactPhone;

    /**
     * 预计更换
     */
    @ApiModelProperty("预计更换")
    private String expectChange;

    /**
     * 购进时间
     */
    @ApiModelProperty("购进时间")
    private String purchaseTime;

    /**
     * 启用时间
     */
    @ApiModelProperty("启用时间")
    private String useTime;

    /**
     * 配件
     */
    @ApiModelProperty("配件")
    private String accessory;

    /**
     * 报废时间
     */
    @ApiModelProperty("报废时间")
    private String rejectTime;

    /**
     * 已用年限
     */
    @ApiModelProperty("已用年限")
    private String alreadyUseYear;

    /**
     * 折旧价值
     */
    @ApiModelProperty("折旧价值")
    private String depreciationCost;

    /**
     * 批准人
     */
    @ApiModelProperty("批准人")
    private String ratifyPerson;

    /**
     * 报废原因
     */
    @ApiModelProperty("报废原因")
    private String rejectReason;

    /**
     * 设备状态
     */
    @ApiModelProperty("设备状态")
    private String status;

    /**
     * 核查周期
     */
    @ApiModelProperty("核查周期")
    private String checkPeriod;

    /**
     * 设备位置
     */
    @ApiModelProperty("设备位置")
    private String location;

    /**
     * 价格
     */
    @ApiModelProperty("价格")
    private BigDecimal price;

    /**
     * 品类id
     */
    @ApiModelProperty("品类id")
    private Long categoryId;

    /**
     * 部门组id
     */
    @ApiModelProperty("部门组id")
    private Long groupId;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String note;

    /**
     * rfid编号
     */
    @ApiModelProperty("rfid编号")
    private String rfid;

    /**
     * create_time
     */
    @ApiModelProperty("create_time")
    private Date createTime;

    /**
     * update_time
     */
    @ApiModelProperty("update_time")
    private Date updateTime;

    /**
     * 监督类型，1：检定，2：校准，3：检测
     */
    @ApiModelProperty("监督类型，1：检定，2：校准，3：检测")
    private Byte supervisionType;

    /**
     * 出厂日期
     */
    @ApiModelProperty("出厂日期")
    private String exFactoryDate;

    /**
     * 接收日期
     */
    @ApiModelProperty("接收日期")
    private String receiveDate;

    /**
     * 接收状态
     */
    @ApiModelProperty("接收状态")
    private String receiveStatus;

    /**
     * 代理商
     */
    @ApiModelProperty("代理商")
    private String agent;

    /**
     * 代理商联系人
     */
    @ApiModelProperty("代理商联系人")
    private String agentPerson;

    /**
     * 代理商联系人联系电话
     */
    @ApiModelProperty("代理商联系人联系电话")
    private String agentPersonPhone;

    /**
     * 主要性能参数
     */
    @ApiModelProperty("主要性能参数")
    private String performanceParam;

    /**
     * 临床用途
     */
    @ApiModelProperty("临床用途")
    private String useTo;

    /**
     * 保养频率
     */
    @ApiModelProperty("保养频率")
    private String maintenanceFrequency;

    /**
     * 保养内容
     */
    @ApiModelProperty("保养内容")
    private String maintenanceContent;

    /**
     * 校准/检定/检测频率
     */
    @ApiModelProperty("校准/检定/检测频率")
    private String supervisionFrequency;

    /**
     * 校准/检定/检测内容
     */
    @ApiModelProperty(value = "校准/检定/检测内容", hidden = true)
    private String supervisionContent;

    /**
     * 验收部门
     */
    @ApiModelProperty("验收部门")
    private String checkAcceptGroup;

    /**
     * 验收人
     */
    @ApiModelProperty("验收人")
    private String checkAcceptPerson;

    /**
     * 验收结论
     */
    @ApiModelProperty("验收结论")
    private String checkAcceptConclusion;

    /**
     * 文件编号
     */
    @ApiModelProperty("文件编号")
    private String code;

    /**
     * 记录编号
     */
    @ApiModelProperty("记录编号")
    private String code2;

    /**
     * 单位
     */
    @ApiModelProperty("单位")
    private String dw;

    /**
     * 版本号
     */
    @ApiModelProperty("版本号")
    private String version;

    /**
     * 保存期限
     */
    @ApiModelProperty("保存期限")
    private String saveTime;

    /**
     * 责任人
     */
    @ApiModelProperty("责任人")
    private String zrr;

    /**
     * 发布日期
     */
    @ApiModelProperty("发布日期")
    private String publishDate;

    /**
     * 执行日期
     */
    @ApiModelProperty("执行日期")
    private String executeDate;

    /**
     * 区域ID
     */
    @ApiModelProperty("区域ID")
    private Long areaId;
}